#ifndef __INVOKE_INSTRUCTION_H
#define __INVOKE_INSTRUCTION_H

#include <unordered_map>
#include "Instruction.h"

class InvokeInstruction : public Instruction
{
public:
    static std::unordered_map<std::string, std::shared_ptr<InvokeInstruction>> invokeInstMap;
public:
    InvokeInstruction() = default;
    virtual ~InvokeInstruction() = default;
    virtual std::string GetHelp();
    static void RegisterInstruction(std::shared_ptr<InvokeInstruction> inst);
    static std::string GetInvokeOptStr();
};
#endif